<?php

    /***************************************************************
    *  Moteur pour les Batailles Graphimaker                       *
    *  BackOffice : perso_nouveau.php                              *
    *  @author C.Carpentier <carpentier-christophe@hotmail.fr>     *
    *  @link http://graphimaker.uphero.com/                        *
    *  @copyright GPL                                              *
    *  @license http://www.gnu.org/copyleft/gpl.html               *
    *  @since 0.0.67                                               *
    ****************************************************************/

    // Inclure les config de l'application
    require_once('../../config/config_appli.php');  

    // Si la session n'existe sur le serveur on redirige vers la page de login 
    verifSession();
    
    // charge le fichier avec la connexion à la base de données 
    require_once('../../bdd/connexion.php');
        
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Enregistrement Personnage</title>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="../moteur.css" />
</head>

<body>

<!-- entete graphimaker --> 
<?php echo $graphimaker_header;?>

<!-- entete de page --> 
<h2>Création Personnage</h2>
<?php

// gérer l'url de retour de la partie
$url_retour='../parties/partie_modif_form.php?ID_PARTIE='.$_REQUEST['ID_PARTIE'].'&ID_SERIE='.$_REQUEST['ID_SERIE'];
$lien_retour='<a href="'.$url_retour.'">Revenir à la gestion de la partie</a>';

// vérifie si le login et le pass ne sont pas vide
if ($_REQUEST['nom']=='') {
    echo 'le nom du personnage ne peuvent être vide.<br/>';
    echo $lien_retour;
    die();
}

if ($_REQUEST['url']=='') {
    echo 'l\'url du personnage ne peuvent être vide.<br/>';
    echo $lien_retour;
    die();
}

// vérifie si ce personnage, pour cette partie n'est pas déja existante
$sql=<<<_SQL
SELECT p.ID_PERSO
FROM personnages_partie pp, personnages p
WHERE pp.id_partie=:partie_id
  AND pp.id_perso=p.ID_PERSO
  AND nom LIKE :nom;
_SQL;

$requete = $dbconn->prepare($sql);
$requete->bindParam(':partie_id',$_REQUEST['ID_PARTIE'],PDO::PARAM_STR);
$requete->bindParam(':nom',strtoupper($_REQUEST['nom']),PDO::PARAM_STR);
ExecuteEtTeste($requete);

// si le personnage existe déjà
if (($requete->rowCount())>0) {
    echo 'Le personnage ',$_REQUEST['nom'],' existe déjà.<br />';
    echo $lien_retour;
    die();
}

// préparation de la requête SQL d'insertion dans la table personnages
$sql = 'INSERT INTO personnages    (nom, url, etat, cree_par, cree_le) '.
       'VALUES (:nom,:url,:etat_perso,:cree_par,now())';
$requete = $dbconn->prepare($sql);
$requete->bindParam(':nom',strtoupper($_REQUEST['nom']),PDO::PARAM_STR);
$requete->bindParam(':url',$_REQUEST['url'],PDO::PARAM_STR);
$requete->bindParam(':etat_perso',$etats_joueur['actif'],PDO::PARAM_INT);
$requete->bindParam(':cree_par',$_SESSION['login_ID'],PDO::PARAM_INT);

ExecuteEtTeste($requete);
$lastInsertId_perso_id=$dbconn->lastInsertId();

// préparation de la requête SQL d'insertion dans la table personnages
$sql = 'INSERT INTO personnages_partie (id_partie, id_joueur, id_perso, couleur) '.
       'VALUES (:partie_id,:joueur_id,:perso_id,:couleur)';
$requete = $dbconn->prepare($sql);
$requete->bindParam(':partie_id',$_REQUEST['ID_PARTIE'],PDO::PARAM_INT);
$requete->bindParam(':joueur_id',$_REQUEST['ID_JOUEUR'],PDO::PARAM_INT);
$requete->bindParam(':perso_id',$lastInsertId_perso_id,PDO::PARAM_INT);
$requete->bindParam(':couleur',$_REQUEST['ID_COULEUR'],PDO::PARAM_INT);

ExecuteEtTeste($requete);

echo 'Nouveau personnage crée avec succés. <br/>';

echo $lien_retour;
?>

</body>
</html>
